<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:zj="http://www.zju.edu.cn" exclude-result-prefixes="zj">
  <xsl:import href="TableFrame_Trans.xslt"/>
  <xsl:import href="../Tk2Base/TableEditItems.xslt"/>
  <xsl:template name="zj:TableDisplay">
    <xsl:param name="Data"/>
    <xsl:param name="Fix"/>
      <xsl:call-template name="zj:TableHead">
        <xsl:with-param name="TableNode" select="."/>
      </xsl:call-template>
      <tr id="divContentList{@TableName}">
        <xsl:if test="@Expand='false'">
          <xsl:attribute name="style">display: none</xsl:attribute>
        </xsl:if>
        <td class="td-bg" colspan="2" style="padding: 5px">
          <xsl:apply-templates select="." mode="zj:TableDisplay">
            <xsl:with-param name="Data" select="$Data"/>
            <xsl:with-param name="Fix" select="$Fix"/>
          </xsl:apply-templates>
        </td>
      </tr>
  </xsl:template>
  <xsl:template match="zj:Field" mode="zj:TableHead">
    <th>
      <xsl:if test="zj:Display/@ListWidth">
        <xsl:attribute name="width"><xsl:value-of select="zj:Display/@ListWidth"/></xsl:attribute>
      </xsl:if>
      <xsl:if test="not(@IsEmpty) or @IsEmpty != 'true'">＊</xsl:if>
      <xsl:value-of select="zj:DisplayName"/>
    </th>
  </xsl:template>
  <xsl:template match="*" mode="zj:TableList">
    <xsl:param name="FieldList"/>
    <xsl:param name="Fix"/>
    <xsl:variable name="DataRecord" select="."/>
    <xsl:variable name="Pos" select="position()"/>
    <tr align="center">
      <xsl:choose>
        <xsl:when test="$Fix">
          <input name="dtRowID" type="hidden" value="1"/>
        </xsl:when>
        <xsl:otherwise>
          <td width="20">
            <input name="dtRowID" type="checkbox" class="noborder" value="1"/>
          </td>
        </xsl:otherwise>
      </xsl:choose>
      <td width="30" id="dtRowNo">1</td>
      <xsl:apply-templates select="$FieldList/Hidden/zj:Field | $FieldList/List/zj:Field" mode="zj:TableItem">
        <xsl:with-param name="DataRecord" select="$DataRecord"/>
        <xsl:with-param name="Pos" select="$Pos"/>
      </xsl:apply-templates>
    </tr>
  </xsl:template>
  <xsl:template match="zj:Field" mode="zj:TableItem">
    <xsl:param name="DataRecord"/>
    <xsl:param name="IsHidden" select="false()"/>
    <xsl:param name="Pos"/>
    <xsl:variable name="HtmlCtrl" select="zj:HtmlCtrl/@HtmlCtrl"/>
    <xsl:variable name="Value">
      <xsl:if test="not($IsHidden)">
        <xsl:value-of select="$DataRecord/*[local-name()=current()/zj:FieldName]"/>
      </xsl:if>
    </xsl:variable>
    <xsl:if test="@IsKey = 'true'">
      <xsl:call-template name="zj:HiddenKey">
        <xsl:with-param name="Field" select="."/>
        <xsl:with-param name="Value" select="$Value"/>
      </xsl:call-template>
    </xsl:if>
    <xsl:choose>
      <xsl:when test="$HtmlCtrl='Hidden'">
        <xsl:call-template name="zj:Hidden">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='Detail'">
        <xsl:call-template name="zj:Detail1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='Text' or $HtmlCtrl = 'CheckBox'">
        <xsl:call-template name="zj:Input1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="Pos" select="$Pos"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
          <xsl:with-param name="HtmlCtrl" select="$HtmlCtrl"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='Combo'">
        <xsl:call-template name="zj:Combo1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
          <xsl:with-param name="Pos" select="$Pos"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='EasySearch'">
        <xsl:call-template name="zj:EasySearch1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
          <xsl:with-param name="Pos" select="$Pos"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='Upload'">
        <xsl:call-template name="zj:Upload1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
          <xsl:with-param name="Pos" select="$Pos"/>
          <xsl:with-param name="DataRecord" select="$DataRecord"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:when test="$HtmlCtrl='TextArea'">
        <xsl:call-template name="zj:TextArea1">
          <xsl:with-param name="Field" select="."/>
          <xsl:with-param name="Value" select="$Value"/>
          <xsl:with-param name="Pos" select="$Pos"/>
          <xsl:with-param name="IsHidden" select="$IsHidden"/>
        </xsl:call-template>
      </xsl:when>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>
